Skip to content

Conversation

smoe
Copy link
Collaborator

@smoe smoe commented Jan 31, 2025

Just curious.

@smoe smoe marked this pull request as draft January 31, 2025 14:18
@BsAtHome
Copy link
Contributor

I don't think we are there yet, even with all the patches in the pipeline.

An important test is to create "/home/path/dir with space/" and try to do a complete build in that subdirectory.

@BsAtHome
Copy link
Contributor

An important test is to create "/home/path/dir with space/" and try to do a complete build in that subdirectory.

With a base path /home/path/l in ux cnc:
...
Compiling libnml/inifile/inifile.cc
c++ -c -I. -Ilibnml/linklist -Iemc -Ilibnml/cms -Ilibnml/rcs -Ilibnml/inifile -Ilibnml/os_intf -Ilibnml/nml -Ilibnml/buffer -Ilibnml/posemath -Irtapi -Ihal -Iemc -Iemc/nml_intf -Iemc/kinematics -Iemc/tp -Iemc/motion -Iemc/ini -Iemc -Iemc/rs274ngc -Iemc/sai -Iemc/pythonplugin -Iemc/tooldata -Iemc -I/home/path/l in ux cnc/src/include -I/usr/include/python3.12 -I/usr/include/tirpc -Os -fwrapv -g -Wall -D_FORTIFY_SOURCE=2 -DULAPI -Werror=overloaded-virtual -g -O2 -std=gnu++20 -fPIC
-MP -MD -MF "objects/libnml/inifile/inifile.d" -MT "objects/libnml/inifile/inifile.o"
libnml/inifile/inifile.cc -o objects/libnml/inifile/inifile.o
c++: warning: in: linker input file unused because linking not done
c++: error: in: linker input file not found: No such file or directory
c++: warning: ux: linker input file unused because linking not done
c++: error: ux: linker input file not found: No such file or directory
c++: warning: cnc/src/include: linker input file unused because linking not done
c++: error: cnc/src/include: linker input file not found: No such file or directory
make: *** [Makefile:287: objects/libnml/inifile/inifile.o] Error 1

@smoe
Copy link
Collaborator Author

smoe commented Jan 31, 2025

Looks like some work on LDFLAGS is required. The tests have performed fine, though. The default routines in CI are not creating sub directories, did not want to fiddle too much with it.

@BsAtHome
Copy link
Contributor

It fails on -I/home/path/l in ux cnc/src/include

@smoe
Copy link
Collaborator Author

smoe commented Jan 31, 2025

;) Missed it.

@smoe
Copy link
Collaborator Author

smoe commented Feb 18, 2025

My little test now apparently works. I admit to be slightly surprised. Anyone up for suggestions on how to increase the level of difficulty wrt blanks in the build path?

@BsAtHome
Copy link
Contributor

My little test now apparently works. I admit to be slightly surprised. Anyone up for suggestions on how to increase the level of difficulty wrt blanks in the build path?

I think it would be a good idea to test with the setup in comment #3309 (comment) and (slowly) add fixes until it works properly (do a git clone of the main repo into a directory with spaces).

@smoe
Copy link
Collaborator Author

smoe commented Feb 19, 2025

My little test now apparently works. I admit to be slightly surprised. Anyone up for suggestions on how to increase the level of difficulty wrt blanks in the build path?

I think it would be a good idea to test with the setup in comment #3309 (comment) and (slowly) add fixes until it works properly (do a git clone of the main repo into a directory with spaces).

But isn't exactly that what I have done in https://github.com/smoe/linuxcnc/blob/63c08892710fac2493ee2cc5f016a44793d22297/.github/workflows/ci.yml#L29-44 ?

Please kindly help me out with a PR against my branch.

@BsAtHome
Copy link
Contributor

CI is clearly not the same as doing it locally:

$ git clone https://github.com/smoe/linuxcnc.git "linuxcnc git smoe"
$ cd "linuxcnc git smoe"
$ git checkout patch-17
$ cd src
$ ./autogen.sh
$ ./configure --enable-non-distributable
$ make
...
Compiling libnml/inifile/inifile.cc
c++: warning: git: linker input file unused because linking not done
c++: error: git: linker input file not found: No such file or directory
c++: warning: smoe/src/include: linker input file unused because linking not done
c++: error: smoe/src/include: linker input file not found: No such file or directory
make: *** [Makefile:287: objects/libnml/inifile/inifile.o] Error 1

Caused by an include to g++ (bold part):
c++ -c -I. -Ilibnml/linklist -Iemc -Ilibnml/cms -Ilibnml/rcs -Ilibnml/inifile -Ilibnml/os_intf -Ilibnml/nml -Ilibnml/buffer -Ilibnml/posemath -Irtapi -Ihal -Iemc -Iemc/nml_intf -Iemc/kinematics -Iemc/tp -Iemc/motion -Iemc/ini -Iemc -Iemc/rs274ngc -Iemc/sai -Iemc/pythonplugin -Iemc/tooldata -Iemc -I/home/me/lcnc/linuxcnc git smoe/src/include -I/usr/include/python3.12 -I/usr/include/tirpc -Os -fwrapv -g -Wall -D_FORTIFY_SOURCE=2 -DULAPI -Werror=overloaded-virtual -g -O2 -std=gnu++20 -fPIC \
-MP -MD -MF "objects/libnml/inifile/inifile.d" -MT "objects/libnml/inifile/inifile.o" \
libnml/inifile/inifile.cc -o objects/libnml/inifile/inifile.o

It fails on the (full) expansion of paths in the Makefile (maybe imported from Makefile.inc). This is probably not the only place where this expansion will be a problem. Many files and configurations need to be checked.

@smoe
Copy link
Collaborator Author

smoe commented Aug 4, 2025

I finally tried this at home, via dpkg-buildpackage, and if failed immediately:

make[1]: Leaving directory '/home/moeller/GitHub/linux cnc'
   debian/rules override_dh_auto_build-arch
make[1]: Entering directory '/home/moeller/GitHub/linux cnc'
dh_auto_build -- build-software
date: invalid date '@'
date: invalid date '@'
Use of uninitialized value $abspath in -d at /usr/share/perl5/Debian/Debhelper/Buildsystem.pm line 140.
dh_auto_build: error: invalid or non-existing path to the source directory: /home/moeller/GitHub/linuxcnc/src
make[1]: *** [debian/rules:55: override_dh_auto_build-arch] Error 255
make[1]: Leaving directory '/home/moeller/GitHub/linux cnc'
make: *** [debian/rules:43: build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
moeller@mariner1:/home/moeller/GitHub/linux cnc$

Yeah. I sent a bug report (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1110369) . And error is not in the line that is reported.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants